package com.example.dao;

import com.example.pojo.Course;
import org.junit.jupiter.api.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import javax.sql.DataSource;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

public class CourseDao {
    //查找所有课程
    public List<Course> courseList()
    {
        JdbcTemplate template=new JdbcTemplate(DataBaseUtils.getDataSource());
        String sql="SELECT * FROM course";
        return template.query(sql, new RowMapper<Course>() {
            @Override
            public Course mapRow(ResultSet resultSet, int i) throws SQLException {
                Course course=new Course();
                course.setId(resultSet.getInt(1));
                course.setDate(resultSet.getString(2));
                course.setCourse_name(resultSet.getString(3));
                course.setCourse_content(resultSet.getString(4));
                course.setTeacher(resultSet.getString(5));
                return course;
            }
        });
    }
    //增加课程
    public Boolean addCourse(Course course)
    {
        JdbcTemplate template=new JdbcTemplate(DataBaseUtils.getDataSource());
        String sql="INSERT INTO course(date,course_name,course_content,teacher) " +
                "VALUES (?,?,?,?)";
        return template.update(sql,
                course.getDate(),
                course.getCourse_name(),
                course.getCourse_content(),
                course.getTeacher())>0;
    }
    //修改课程时间、内容
    public Boolean setCourse(Course course,Boolean flag)
    {
        //flag为true则修改时间，false则修改内容
        JdbcTemplate template=new JdbcTemplate(DataBaseUtils.getDataSource());
        if(flag)
            return template.update(
                    "UPDATE course SET date = ? WHERE id=?",
                    course.getDate(),
                    course.getId())>0;
        else
            return template.update(
                    "UPDATE course SET course_content = ? WHERE id=?",
                    course.getCourse_content(),
                    course.getId())>0;
    }
    //删除课程
    public Boolean deleteCourse(Integer id)
    {
        JdbcTemplate template=new JdbcTemplate(DataBaseUtils.getDataSource());
        return template.update("DELETE FROM course WHERE id=?",id)>0;
    }
    @Test
    public void test1()
    {
        CourseDao obj=new CourseDao();
        /*System.out.println(obj.courseList());
        Course course=new Course();
        course.setDate("4月2日中午");
        course.setCourse_content("任何人都可以来，非会员用户也可以来试听");
        course.setCourse_name("健身课");
        course.setTeacher("张教练");
        System.out.println(obj.addCourse(course));
        System.out.println(obj.courseList());
        System.out.println(obj.courseList());*/
        //修改课程时间
        //修改课程内容
        /*Course course=new Course();
        course.setId(1);
        course.setDate("修改过的时间:2020年4月6日");
        course.setCourse_content("修改过的的课程内容:测试22");
        System.out.println(obj.setCourse(course,true));
        System.out.println(obj.setCourse(course,false));*/
        //System.out.println(obj.courseList());

    }
}
